package com.example.jpatest.service;

import com.example.jpatest.entity.Competition;
import com.example.jpatest.entity.Enter;
import com.example.jpatest.entity.Team;
import com.example.jpatest.entity.Win;

import java.util.List;

/**
 * @author czx
 */

public interface EnterService {
    /**
     * 进行报名
     * @param team 报名的队伍
     * @param competition 所报的竞赛
     */
    void enter(Team team,Competition competition);

    /**
     * 保存报名信息
     * @param enter 报名信息
     */
    void saveEnter(Enter enter);

    /**
     * 获得所有报名的信息
     * @return 报名信息
     */
    List<Enter> getEnters();

    /**
     * 获得队伍在竞赛的报名信息
     * @param team 队伍信息
     * @param competition 竞赛信息
     * @return
     */
    Enter getEnter(Team team,Competition competition);

    /**
     * 通过id获得报名信息
     * @param id 报名id
     * @return 报名信息
     */
    Enter getById(Long id);

    /**
     * 取消报名
     * @param team 队伍信息
     * @param competition 竞赛信息
     */
    void cancelEnter(Team team,Competition competition);

    /**
     * 获得获奖信息
     * @param enter 报名信息
     * @return 获奖信息
     */
    Win getWinInfo(Enter enter);
}
